package com.example.lottery.service;

import com.example.lottery.controller.param.ActivityCreateParam;
import com.example.lottery.controller.param.FindActivityListParam;
import com.example.lottery.controller.param.GetActivityDetailParam;
import com.example.lottery.service.dto.ActivityCreateDTO;
import com.example.lottery.service.dto.ActivityDTO;
import com.example.lottery.service.dto.ActivityDetailDTO;
import com.example.lottery.service.dto.FindActivityDTO;

import org.springframework.transaction.annotation.Transactional;

public interface IActivityService {

    /**
     * 创建活动
     * @param activityCreateParam
     * @return 返回活动id
     */
    @Transactional
    ActivityCreateDTO create(ActivityCreateParam activityCreateParam);



    /**
     * 查询活动列表
     * @param findActivityParam
     * @return
     */
    FindActivityDTO<ActivityDTO> findActivity(FindActivityListParam findActivityParam);

    /**
     * 查询活动详情
     * @param getActivityDetailParam
     * @return
     */
    ActivityDetailDTO findActivityDetail(GetActivityDetailParam getActivityDetailParam);

    /**
     * 更新缓存（状态扭转后）
     * @param activityId
     */

    void updateCache(Long activityId);
}
